home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1998 January / EnigmA AMIGA RUN 24 (1997)(G.R. Edizioni)(IT)[!][issue 1998-01 & 02].iso / RECENT1 / AMarq146.rdm < prev    next >
Text File  |  1997-12-12  |  5KB  |  101 lines

  1. Short:    TCP Data broadcast system w/ARexx support!
  2. Author:   jfriesne@ucsd.edu (Jeremy Friesner)
  3. Uploader: jfriesne@ucsd.edu (Jeremy Friesner)
  4. Version:  1.46
  5. Type:     comm/net
  6. Replaces: comm/net/AMarquee1.45.lha
  7. Requires: Workbench 2.04+, Inet225 or AmiTCP3.0b+ or compatible TCP stack
  8.  
  9. ----------------------------------------------------------------
  10.         
  11.                           AMARQUEE v1.46
  12.                      
  13.                         (Released 12/7/97)
  14.                      
  15. ----------------------------------------------------------------
  16.  
  17.  
  18. The Problem: 
  19.  
  20.  You have a great idea for a killer multi-player Internet game 
  21.  or multi-user net app, but it's a total pain in the @)#$* to 
  22.  write all the TCP connection and data synchronization code 
  23.  you'll need to get it going.  So you put your idea on the 
  24.  back-burner and go play "Lemmings" instead.  And thus the 
  25.  Amiga is deprived of a fun Internet app.  D-oh!  :(
  26.  
  27. The Solution:  (well, okay, it's *a* solution, anyway)
  28.  
  29.  AMarquee is a system that handles all of the icky information 
  30.  distribution details for you, allowing you to concentrate on 
  31.  coding your application, rather than on which data goes into 
  32.  which socket when.  AMarquee consists of a shared library and 
  33.  a TCP daemon, which work together to get your data where it 
  34.  needs to be.  Your program simply calls amarquee.library 
  35.  functions to broadcast the data, and waits on a provided 
  36.  MsgPort for data from other hosts.  Easy!
  37.  
  38.  
  39. Features of amarquee.library (the shared library/API):
  40.  
  41.  - Programs written to use amarqeue.library will work transparently
  42.    with Inet225, AmiTCP, Miami, or any stack that is "AmiTCP compatible".
  43.  - Simple API requires no knowledge of socket programming to use.
  44.  - Each AMarquee connection you make automatically and transparently
  45.    starts a separate execution thread, so your app will never
  46.    be forced to wait while data is sent or received.
  47.  - An arbitrary number of connections may be active at once.
  48.  - Allows you to "subscribe" to data that interests you, so that
  49.    when the data on the server is changed you will be automatically 
  50.    notified.  You never need to poll for anything!
  51.  - An easy mechanism for sending messages to one or many other
  52.    AMarquee clients that are logged into the same server.
  53.  - Standard Amiga wildcarding is supported in all applicable functions.  
  54.    This allows you to easily and succinctly refer to one host or data 
  55.    item, or many, as appropriate.
  56.  - #includes for both C and PCQ Pascal are included.
  57.  - ARexx accessible.  That is, ARexx scripts can use amarquee.library
  58.    for communications using the same API that compiled programs do.
  59.  - Example programs in C, Pascal, and ARexx are included.
  60.  - Operation is almost totally asynchronous for efficiency, but
  61.    several easy synchronization methods are available if you need them.
  62.  - Can also be used for direct client-to-client connections and
  63.    for making inetd-launched or manually-launched daemon programs.
  64.  - Automatically detects when the remote computer has crashed or
  65.    been shut down, even on idle connections.
  66.  
  67. Features of AMarqueed (the AmiTCP server):
  68.  
  69.  - Works with Inet225, AmiTCP, Miami, or any other stack that is 
  70.    "AmiTCP compatible".
  71.  - Fully multithreaded design, with one server process per connection.
  72.  - Re-entrant code, to minimize memory usage.
  73.  - Data is stored in a filesystem-like tree structure for simplicity,
  74.    flexibility and efficiency.  Each client gets its own "home directory"
  75.    that it may write to or read from, and each client may also
  76.    read from the "home directories" of other clients.
  77.  - Efficient design minimizes CPU usage, net bandwidth, and execution time.
  78.  - Limits may be put on memory usage, number of connections, and/or 
  79.    which clients or apps may connect.  Only serve the hosts and apps
  80.    you want to serve!
  81.  - Supports data streaming to one or many clients at once.
  82.  - Data streaming and synchronization features let you be sure your 
  83.    data was read by all interested hosts before you update it again.
  84.  - Automatically detects and eliminates "dead" connections (e.g.
  85.    if the client computer was shut down without quitting politely)
  86.  
  87. WHAT'S NEW IN VERSION 1.46:
  88.  
  89.  - ARexx support!  amarquee.library is now usable by ARexx scripts.
  90.  - Added the QGetAndSubscribeOp() function to amarquee.library.
  91.  - Added amarqueedebug.rexx, amarqueehost.rexx, sysmessage.rexx,
  92.    and killclients.rexx to the sample programs directory.
  93.  * QNewHostSession() was broken under Inet225.  Fixed it.  (Thanks
  94.    to Raj for reporting this!)
  95.  * Fixed a minor bug that would cause an unwarranted update message
  96.    to be sent to any client that had received a QMessageOp message
  97.    from a client whose root node it was monitoring via QSubscribeOp.  
  98.  * Fixed a bug in AMarqueed that prevented QRenameOp events from
  99.    being broadcast to other clients correctly--the deletion of
  100.    the old name would be sent, but not the creation of the new one.
  101.